# 我们统称语料为 jouho
# 本脚本用于把原始的语料（目前仅限文本）转为可用的形式
# 分词的结果类似下面：
# sentences = [
#     [
#         ('俺', 'word'), 
#         ('は', 'word'), 
#         ('人間', 'word'), 
#         ('を', 'word'), 
#         ('やめる', 'word'), 
#         ('、', 'punctuation'), 
#         ('ぞ', 'word'), 
#         ('ジョジョー', 'word'),
#         ('！！', 'punctuation')
#     ]
# ]



import MeCab
import re


sentences = [
    'やかましいッ！うっおとしいぜッ！！おまえらッ！',
    'スゲーッ、爽やかな気分だぜ。新しいパンツをはいたばかりの、正月元旦の朝のよーによォ～～～ッ',
    '俺は人間をやめるぞ、ジョジョー！！',
    '貧弱！貧弱ゥ！',
    '人間讚歌は「勇気」の讚歌！人間のすばらしさは勇気のすばらしさ！',
    '負けヒロインが多すぎる！'
]



def is_japanese(text):
    # 正则表达式匹配平假名、片假名和汉字
    pattern = re.compile(r'^[ぁ-んァ-ン一-龥]+$')
    return bool(pattern.match(text))

def parse_sentence(sentence):
    res = []
    wakati = MeCab.Tagger("-Owakati")
    for word in wakati.parse(sentence).split():
        word_type = 'word' if is_japanese(word) else 'punctuation'
        res.append((word, word_type))
    return res


if __name__ == '__main__':
    for sentence in sentences:
        print(parse_sentence(sentence))
